package clases;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.JOptionPane;

public class Educacion_class extends Conexion{

	private String codigo;
	private String grado;
	private String ficha;
	private String institucion;
	private Date desde;
	private Date hasta;
	private String titulo;
	private boolean documento;
	private String nombredoc;
	private String query;
	private ArrayList<String> parametros;
	private utilidades_class utilidades;
	
	public Educacion_class()
	{
		utilidades = new utilidades_class();
	}
	
	public Educacion_class(String codigo)
	{
		utilidades = new utilidades_class();
		this.codigo = codigo;
	}
	
	public Educacion_class(String codigo, String grado, String ficha, String institucion, 
			Date desde, Date hasta, String titulo, Boolean documento, String nombredoc)
	{
		utilidades = new utilidades_class();
		this.codigo=codigo;
		this.grado=grado;
		this.ficha=ficha;
		this.institucion=institucion;
		this.desde=desde;
		this.hasta=hasta;
		this.titulo=titulo;
		this.documento=documento;
		this.nombredoc=nombredoc;
	}
	
	public void nuevo()
	{
		try
		{
			ResultSet resultado = mostrar("SELECT codigoeducacion FROM educacion ORDER BY codigoeducacion DESC");
			if(resultado.next()) this.codigo = "ED"+String.valueOf(Integer.parseInt(resultado.getString("codigoeducacion").substring(2))+1);
			else this.codigo = "ED10000000";
			
			resultado.close();
			
			query = "INSERT INTO educacion VALUES (?,?,?,?,?,?,?,?,?)";
			parametros = new ArrayList<String>();
			parametros.add(codigo);
			parametros.add(grado);
			parametros.add(ficha);
			parametros.add(institucion);
			parametros.add(utilidades.insertarfecha(desde));
			parametros.add(utilidades.insertarfecha(hasta));
			parametros.add(titulo);
			parametros.add(String.valueOf(documento));
			parametros.add(nombredoc);
			sentenciaConnection(query, parametros);
			
		}catch(Exception ex)
		{
			JOptionPane.showMessageDialog(null, ex.toString());
		}
	}
	
	public void modificar()
	{
		query = "UPDATE educacion SET codigogrado=?, institucion=?, desde=?, hasta=?, titulo=?, documento=?, nombredoc=?" +
				" WHERE codigoeducacion=? AND codigoficha=?";
		parametros = new ArrayList<String>();
		parametros.add(grado);
		parametros.add(institucion);
		parametros.add(utilidades.insertarfecha(desde));
		parametros.add(utilidades.insertarfecha(hasta));
		parametros.add(titulo);
		parametros.add(String.valueOf(documento));
		parametros.add(nombredoc);
		parametros.add(codigo);
		parametros.add(ficha);
		sentenciaConnection(query, parametros);
	}
	
	public void eliminar()
	{
		query = "DELETE FROM educacion WHERE codigoeducacion=?";
		parametros = new ArrayList<String>();
		parametros.add(codigo);
		sentenciaConnection(query, parametros);
	}
	
	public ResultSet mostrar()
	{
		query = "SELECT * FROM educacion";
		return consultaConnection(query);
	}
	
	public ResultSet mostrar(String queryref)
	{
		return consultaConnection(queryref);
	}
	
	public ResultSet mostrar(String queryref, ArrayList<String> parametrosref)
	{
		return consultaConnection(queryref, parametrosref);
	}
	
}
